[INFO] fetching crate toy-arms-bindings 0.1.0... [INFO] testing toy-arms-bindings-0.1.0 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate toy-arms-bindings 0.1.0 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate toy-arms-bindings 0.1.0 [INFO] finished tweaking crates.io crate toy-arms-bindings 0.1.0 [INFO] tweaked toml for crates.io crate toy-arms-bindings 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate toy-arms-bindings 0.1.0 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 10 packages to latest compatible versions [INFO] [stderr] Adding windows v0.19.0 (available: v0.61.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 711b0ca5eab49aa85d4e84e2ced25f87a1ded18acfa96c34469bc77e1ae4a954 [INFO] running `Command { std: "docker" "start" "-a" "711b0ca5eab49aa85d4e84e2ced25f87a1ded18acfa96c34469bc77e1ae4a954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "711b0ca5eab49aa85d4e84e2ced25f87a1ded18acfa96c34469bc77e1ae4a954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "711b0ca5eab49aa85d4e84e2ced25f87a1ded18acfa96c34469bc77e1ae4a954", kill_on_drop: false }` [INFO] [stdout] 711b0ca5eab49aa85d4e84e2ced25f87a1ded18acfa96c34469bc77e1ae4a954 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d8335899a8b34eebf563b51e1769983d85d547f5758b398309238ecacd1b8a13 [INFO] running `Command { std: "docker" "start" "-a" "d8335899a8b34eebf563b51e1769983d85d547f5758b398309238ecacd1b8a13", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling windows_reader v0.19.0 [INFO] [stderr] Compiling windows_quote v0.19.0 [INFO] [stderr] Compiling const-sha1 v0.2.0 [INFO] [stderr] Compiling windows_gen v0.19.0 [INFO] [stderr] Compiling windows_macros v0.19.0 [INFO] [stderr] Compiling windows v0.19.0 [INFO] [stderr] Compiling toy-arms-bindings v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/toy-arms-bindings-a8f7447e7e2c00a4/out/windows.rs:1:3933 [INFO] [stdout] | [INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Console { pub unsafe fn AllocConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn AllocConsole ( ) -> super::super::Foundation:: BOOL ; } AllocConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn FreeConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn FreeConsole ( ) -> super::super::Foundation:: BOOL ; } FreeConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_DATA_DIRECTORY { pub VirtualAddress : u32 , pub Size : u32 } impl IMAGE_DATA_DIRECTORY { } impl :: std :: default :: Default for IMAGE_DATA_DIRECTORY { fn default ( ) -> Self { Self { VirtualAddress : 0 , Size : 0 } } } impl :: std :: fmt :: Debug for IMAGE_DATA_DIRECTORY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_DATA_DIRECTORY" ) . field ( "VirtualAddress" , & self . VirtualAddress ) . field ( "Size" , & self . Size ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_DATA_DIRECTORY { fn eq ( & self , other : & Self ) -> bool { self . VirtualAddress == other . VirtualAddress && self . Size == other . Size } } impl :: std :: cmp :: Eq for IMAGE_DATA_DIRECTORY { } unsafe impl :: windows :: Abi for IMAGE_DATA_DIRECTORY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_DLL_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 64u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_SEH : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_BIND : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32768u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_DLL_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_DLL_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_DLL_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_DLL_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_FILE_RELOCS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1u32 ) ; pub const IMAGE_FILE_EXECUTABLE_IMAGE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2u32 ) ; pub const IMAGE_FILE_LINE_NUMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4u32 ) ; pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8u32 ) ; pub const IMAGE_FILE_AGGRESIVE_WS_TRIM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16u32 ) ; pub const IMAGE_FILE_LARGE_ADDRESS_AWARE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_LO : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_FILE_32BIT_MACHINE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_FILE_DEBUG_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_FILE_NET_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_FILE_SYSTEM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_FILE_DLL : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_FILE_UP_SYSTEM_ONLY : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_HI : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32768u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_FILE_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_FILE_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_FILE_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_FILE_HEADER { pub Machine : IMAGE_FILE_MACHINE , pub NumberOfSections : u16 , pub TimeDateStamp : u32 , pub PointerToSymbolTable : u32 , pub NumberOfSymbols : u32 , pub SizeOfOptionalHeader : u16 , pub Characteristics : IMAGE_FILE_CHARACTERISTICS } impl IMAGE_FILE_HEADER { } impl :: std :: default :: Default for IMAGE_FILE_HEADER { fn default ( ) -> Self { Self { Machine : :: std :: default :: Default :: default ( ) , NumberOfSections : 0 , TimeDateStamp : 0 , PointerToSymbolTable : 0 , NumberOfSymbols : 0 , SizeOfOptionalHeader : 0 , Characteristics : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_FILE_HEADER { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_FILE_HEADER" ) . field ( "Machine" , & self . Machine ) . field ( "NumberOfSections" , & self . NumberOfSections ) . field ( "TimeDateStamp" , & self . TimeDateStamp ) . field ( "PointerToSymbolTable" , & self . PointerToSymbolTable ) . field ( "NumberOfSymbols" , & self . NumberOfSymbols ) . field ( "SizeOfOptionalHeader" , & self . SizeOfOptionalHeader ) . field ( "Characteristics" , & self . Characteristics ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_FILE_HEADER { fn eq ( & self , other : & Self ) -> bool { self . Machine == other . Machine && self . NumberOfSections == other . NumberOfSections && self . TimeDateStamp == other . TimeDateStamp && self . PointerToSymbolTable == other . PointerToSymbolTable && self . NumberOfSymbols == other . NumberOfSymbols && self . SizeOfOptionalHeader == other . SizeOfOptionalHeader && self . Characteristics == other . Characteristics } } impl :: std :: cmp :: Eq for IMAGE_FILE_HEADER { } unsafe impl :: windows :: Abi for IMAGE_FILE_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_MACHINE ( pub u16 ) ; pub const IMAGE_FILE_MACHINE_AXP64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_I386 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 332u16 ) ; pub const IMAGE_FILE_MACHINE_IA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 512u16 ) ; pub const IMAGE_FILE_MACHINE_AMD64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 34404u16 ) ; pub const IMAGE_FILE_MACHINE_UNKNOWN : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 0u16 ) ; pub const IMAGE_FILE_MACHINE_TARGET_HOST : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1u16 ) ; pub const IMAGE_FILE_MACHINE_R3000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 354u16 ) ; pub const IMAGE_FILE_MACHINE_R4000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 358u16 ) ; pub const IMAGE_FILE_MACHINE_R10000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 360u16 ) ; pub const IMAGE_FILE_MACHINE_WCEMIPSV2 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 361u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 388u16 ) ; pub const IMAGE_FILE_MACHINE_SH3 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 418u16 ) ; pub const IMAGE_FILE_MACHINE_SH3DSP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 419u16 ) ; pub const IMAGE_FILE_MACHINE_SH3E : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 420u16 ) ; pub const IMAGE_FILE_MACHINE_SH4 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 422u16 ) ; pub const IMAGE_FILE_MACHINE_SH5 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 424u16 ) ; pub const IMAGE_FILE_MACHINE_ARM : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 448u16 ) ; pub const IMAGE_FILE_MACHINE_THUMB : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 450u16 ) ; pub const IMAGE_FILE_MACHINE_ARMNT : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 452u16 ) ; pub const IMAGE_FILE_MACHINE_AM33 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 467u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 496u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPCFP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 497u16 ) ; pub const IMAGE_FILE_MACHINE_MIPS16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 614u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 870u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1126u16 ) ; pub const IMAGE_FILE_MACHINE_TRICORE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1312u16 ) ; pub const IMAGE_FILE_MACHINE_CEF : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3311u16 ) ; pub const IMAGE_FILE_MACHINE_EBC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3772u16 ) ; pub const IMAGE_FILE_MACHINE_M32R : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 36929u16 ) ; pub const IMAGE_FILE_MACHINE_ARM64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 43620u16 ) ; pub const IMAGE_FILE_MACHINE_CEE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 49390u16 ) ; impl :: std :: convert :: From < u16 > for IMAGE_FILE_MACHINE { fn from ( value : u16 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_MACHINE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS32 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER32 } impl IMAGE_NT_HEADERS32 { } impl :: std :: default :: Default for IMAGE_NT_HEADERS32 { fn default ( ) -> Self { Self { Signature : 0 , FileHeader : :: std :: default :: Default :: default ( ) , OptionalHeader : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_NT_HEADERS32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_NT_HEADERS32" ) . field ( "Signature" , & self . Signature ) . field ( "FileHeader" , & self . FileHeader ) . field ( "OptionalHeader" , & self . OptionalHeader ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS32 { fn eq ( & self , other : & Self ) -> bool { self . Signature == other . Signature && self . FileHeader == other . FileHeader && self . OptionalHeader == other . OptionalHeader } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS32 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS64 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER64 } impl IMAGE_NT_HEADERS64 { } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS64 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_OPTIONAL_HEADER32 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub BaseOfData : u32 , pub ImageBase : u32 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u32 , pub SizeOfStackCommit : u32 , pub SizeOfHeapReserve : u32 , pub SizeOfHeapCommit : u32 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER32 { } impl :: std :: default :: Default for IMAGE_OPTIONAL_HEADER32 { fn default ( ) -> Self { Self { Magic : :: std :: default :: Default :: default ( ) , MajorLinkerVersion : 0 , MinorLinkerVersion : 0 , SizeOfCode : 0 , SizeOfInitializedData : 0 , SizeOfUninitializedData : 0 , AddressOfEntryPoint : 0 , BaseOfCode : 0 , BaseOfData : 0 , ImageBase : 0 , SectionAlignment : 0 , FileAlignment : 0 , MajorOperatingSystemVersion : 0 , MinorOperatingSystemVersion : 0 , MajorImageVersion : 0 , MinorImageVersion : 0 , MajorSubsystemVersion : 0 , MinorSubsystemVersion : 0 , Win32VersionValue : 0 , SizeOfImage : 0 , SizeOfHeaders : 0 , CheckSum : 0 , Subsystem : :: std :: default :: Default :: default ( ) , DllCharacteristics : :: std :: default :: Default :: default ( ) , SizeOfStackReserve : 0 , SizeOfStackCommit : 0 , SizeOfHeapReserve : 0 , SizeOfHeapCommit : 0 , LoaderFlags : 0 , NumberOfRvaAndSizes : 0 , DataDirectory : [ :: std :: default :: Default :: default ( ) ;16 ] } } } impl :: std :: fmt :: Debug for IMAGE_OPTIONAL_HEADER32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_OPTIONAL_HEADER32" ) . field ( "Magic" , & self . Magic ) . field ( "MajorLinkerVersion" , & self . MajorLinkerVersion ) . field ( "MinorLinkerVersion" , & self . MinorLinkerVersion ) . field ( "SizeOfCode" , & self . SizeOfCode ) . field ( "SizeOfInitializedData" , & self . SizeOfInitializedData ) . field ( "SizeOfUninitializedData" , & self . SizeOfUninitializedData ) . field ( "AddressOfEntryPoint" , & self . AddressOfEntryPoint ) . field ( "BaseOfCode" , & self . BaseOfCode ) . field ( "BaseOfData" , & self . BaseOfData ) . field ( "ImageBase" , & self . ImageBase ) . field ( "SectionAlignment" , & self . SectionAlignment ) . field ( "FileAlignment" , & self . FileAlignment ) . field ( "MajorOperatingSystemVersion" , & self . MajorOperatingSystemVersion ) . field ( "MinorOperatingSystemVersion" , & self . MinorOperatingSystemVersion ) . field ( "MajorImageVersion" , & self . MajorImageVersion ) . field ( "MinorImageVersion" , & self . MinorImageVersion ) . field ( "MajorSubsystemVersion" , & self . MajorSubsystemVersion ) . field ( "MinorSubsystemVersion" , & self . MinorSubsystemVersion ) . field ( "Win32VersionValue" , & self . Win32VersionValue ) . field ( "SizeOfImage" , & self . SizeOfImage ) . field ( "SizeOfHeaders" , & self . SizeOfHeaders ) . field ( "CheckSum" , & self . CheckSum ) . field ( "Subsystem" , & self . Subsystem ) . field ( "DllCharacteristics" , & self . DllCharacteristics ) . field ( "SizeOfStackReserve" , & self . SizeOfStackReserve ) . field ( "SizeOfStackCommit" , & self . SizeOfStackCommit ) . field ( "SizeOfHeapReserve" , & self . SizeOfHeapReserve ) . field ( "SizeOfHeapCommit" , & self . SizeOfHeapCommit ) . field ( "LoaderFlags" , & self . LoaderFlags ) . field ( "NumberOfRvaAndSizes" , & self . NumberOfRvaAndSizes ) . field ( "DataDirectory" , & self . DataDirectory ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER32 { fn eq ( & self , other : & Self ) -> bool { self . Magic == other . Magic && self . MajorLinkerVersion == other . MajorLinkerVersion && self . MinorLinkerVersion == other . MinorLinkerVersion && self . SizeOfCode == other . SizeOfCode && self . SizeOfInitializedData == other . SizeOfInitializedData && self . SizeOfUninitializedData == other . SizeOfUninitializedData && self . AddressOfEntryPoint == other . AddressOfEntryPoint && self . BaseOfCode == other . BaseOfCode && self . BaseOfData == other . BaseOfData && self . ImageBase == other . ImageBase && self . SectionAlignment == other . SectionAlignment && self . FileAlignment == other . FileAlignment && self . MajorOperatingSystemVersion == other . MajorOperatingSystemVersion && self . MinorOperatingSystemVersion == other . MinorOperatingSystemVersion && self . MajorImageVersion == other . MajorImageVersion && self . MinorImageVersion == other . MinorImageVersion && self . MajorSubsystemVersion == other . MajorSubsystemVersion && self . MinorSubsystemVersion == other . MinorSubsystemVersion && self . Win32VersionValue == other . Win32VersionValue && self . SizeOfImage == other . SizeOfImage && self . SizeOfHeaders == other . SizeOfHeaders && self . CheckSum == other . CheckSum && self . Subsystem == other . Subsystem && self . DllCharacteristics == other . DllCharacteristics && self . SizeOfStackReserve == other . SizeOfStackReserve && self . SizeOfStackCommit == other . SizeOfStackCommit && self . SizeOfHeapReserve == other . SizeOfHeapReserve && self . SizeOfHeapCommit == other . SizeOfHeapCommit && self . LoaderFlags == other . LoaderFlags && self . NumberOfRvaAndSizes == other . NumberOfRvaAndSizes && self . DataDirectory == other . DataDirectory } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER32 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 4 ) ) ] pub struct IMAGE_OPTIONAL_HEADER64 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub ImageBase : u64 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u64 , pub SizeOfStackCommit : u64 , pub SizeOfHeapReserve : u64 , pub SizeOfHeapCommit : u64 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER64 { } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER64 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_OPTIONAL_HEADER_MAGIC ( pub u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 267u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 263u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_OPTIONAL_HEADER_MAGIC { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER_MAGIC { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_SUBSYSTEM ( pub u32 ) ; pub const IMAGE_SUBSYSTEM_UNKNOWN : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 0u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 1u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 2u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 3u32 ) ; pub const IMAGE_SUBSYSTEM_OS2_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 5u32 ) ; pub const IMAGE_SUBSYSTEM_POSIX_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 7u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 8u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 9u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 10u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 11u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 12u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_ROM : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 13u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 14u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 16u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 17u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_SUBSYSTEM { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_SUBSYSTEM { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_SUBSYSTEM { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_SUBSYSTEM { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_SUBSYSTEM { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_SUBSYSTEM { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn DisableThreadLibraryCalls < 'a , > ( hlibmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn DisableThreadLibraryCalls ( hlibmodule : super::super::Foundation:: HINSTANCE ) -> super::super::Foundation:: BOOL ; } DisableThreadLibraryCalls ( hlibmodule . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetModuleHandleA < 'a , > ( lpmodulename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , ) -> super::super::Foundation:: HINSTANCE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleHandleA ( lpmodulename : super::super::Foundation:: PSTR ) -> super::super::Foundation:: HINSTANCE ; } GetModuleHandleA ( lpmodulename . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { pub const DLL_PROCESS_ATTACH : u32 = 1u32 ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 2 ) ) ] pub struct IMAGE_DOS_HEADER { pub e_magic : u16 , pub e_cblp : u16 , pub e_cp : u16 , pub e_crlc : u16 , pub e_cparhdr : u16 , pub e_minalloc : u16 , pub e_maxalloc : u16 , pub e_ss : u16 , pub e_sp : u16 , pub e_csum : u16 , pub e_ip : u16 , pub e_cs : u16 , pub e_lfarlc : u16 , pub e_ovno : u16 , pub e_res : [ u16 ;4 ] , pub e_oemid : u16 , pub e_oeminfo : u16 , pub e_res2 : [ u16 ;10 ] , pub e_lfanew : i32 } impl IMAGE_DOS_HEADER { } impl :: std :: cmp :: PartialEq for IMAGE_DOS_HEADER { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_DOS_HEADER { } unsafe impl :: windows :: Abi for IMAGE_DOS_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_IMPORT_DESCRIPTOR { pub Anonymous : IMAGE_IMPORT_DESCRIPTOR_0 , pub TimeDateStamp : u32 , pub ForwarderChain : u32 , pub Name : u32 , pub FirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union IMAGE_IMPORT_DESCRIPTOR_0 { pub Characteristics : u32 , pub OriginalFirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR_0 { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR_0 { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR_0 { type Abi = Self ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod KeyboardAndMouseInput { pub unsafe fn GetAsyncKeyState < > ( vkey : i32 , ) -> i16 { # [ cfg ( windows ) ] { # [ link ( name ="USER32" ) ] extern "system" { fn GetAsyncKeyState ( vkey : i32 ) -> i16 ; } GetAsyncKeyState ( :: std :: mem :: transmute ( vkey ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.77s [INFO] running `Command { std: "docker" "inspect" "d8335899a8b34eebf563b51e1769983d85d547f5758b398309238ecacd1b8a13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8335899a8b34eebf563b51e1769983d85d547f5758b398309238ecacd1b8a13", kill_on_drop: false }` [INFO] [stdout] d8335899a8b34eebf563b51e1769983d85d547f5758b398309238ecacd1b8a13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d1289e45d08572e33e40a2729157dd5798ef2664c1b20250e66820175251781b [INFO] running `Command { std: "docker" "start" "-a" "d1289e45d08572e33e40a2729157dd5798ef2664c1b20250e66820175251781b", kill_on_drop: false }` [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/toy-arms-bindings-a8f7447e7e2c00a4/out/windows.rs:1:3933 [INFO] [stdout] | [INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Console { pub unsafe fn AllocConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn AllocConsole ( ) -> super::super::Foundation:: BOOL ; } AllocConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn FreeConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn FreeConsole ( ) -> super::super::Foundation:: BOOL ; } FreeConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_DATA_DIRECTORY { pub VirtualAddress : u32 , pub Size : u32 } impl IMAGE_DATA_DIRECTORY { } impl :: std :: default :: Default for IMAGE_DATA_DIRECTORY { fn default ( ) -> Self { Self { VirtualAddress : 0 , Size : 0 } } } impl :: std :: fmt :: Debug for IMAGE_DATA_DIRECTORY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_DATA_DIRECTORY" ) . field ( "VirtualAddress" , & self . VirtualAddress ) . field ( "Size" , & self . Size ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_DATA_DIRECTORY { fn eq ( & self , other : & Self ) -> bool { self . VirtualAddress == other . VirtualAddress && self . Size == other . Size } } impl :: std :: cmp :: Eq for IMAGE_DATA_DIRECTORY { } unsafe impl :: windows :: Abi for IMAGE_DATA_DIRECTORY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_DLL_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 64u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_SEH : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_BIND : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32768u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_DLL_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_DLL_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_DLL_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_DLL_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_FILE_RELOCS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1u32 ) ; pub const IMAGE_FILE_EXECUTABLE_IMAGE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2u32 ) ; pub const IMAGE_FILE_LINE_NUMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4u32 ) ; pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8u32 ) ; pub const IMAGE_FILE_AGGRESIVE_WS_TRIM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16u32 ) ; pub const IMAGE_FILE_LARGE_ADDRESS_AWARE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_LO : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_FILE_32BIT_MACHINE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_FILE_DEBUG_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_FILE_NET_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_FILE_SYSTEM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_FILE_DLL : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_FILE_UP_SYSTEM_ONLY : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_HI : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32768u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_FILE_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_FILE_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_FILE_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_FILE_HEADER { pub Machine : IMAGE_FILE_MACHINE , pub NumberOfSections : u16 , pub TimeDateStamp : u32 , pub PointerToSymbolTable : u32 , pub NumberOfSymbols : u32 , pub SizeOfOptionalHeader : u16 , pub Characteristics : IMAGE_FILE_CHARACTERISTICS } impl IMAGE_FILE_HEADER { } impl :: std :: default :: Default for IMAGE_FILE_HEADER { fn default ( ) -> Self { Self { Machine : :: std :: default :: Default :: default ( ) , NumberOfSections : 0 , TimeDateStamp : 0 , PointerToSymbolTable : 0 , NumberOfSymbols : 0 , SizeOfOptionalHeader : 0 , Characteristics : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_FILE_HEADER { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_FILE_HEADER" ) . field ( "Machine" , & self . Machine ) . field ( "NumberOfSections" , & self . NumberOfSections ) . field ( "TimeDateStamp" , & self . TimeDateStamp ) . field ( "PointerToSymbolTable" , & self . PointerToSymbolTable ) . field ( "NumberOfSymbols" , & self . NumberOfSymbols ) . field ( "SizeOfOptionalHeader" , & self . SizeOfOptionalHeader ) . field ( "Characteristics" , & self . Characteristics ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_FILE_HEADER { fn eq ( & self , other : & Self ) -> bool { self . Machine == other . Machine && self . NumberOfSections == other . NumberOfSections && self . TimeDateStamp == other . TimeDateStamp && self . PointerToSymbolTable == other . PointerToSymbolTable && self . NumberOfSymbols == other . NumberOfSymbols && self . SizeOfOptionalHeader == other . SizeOfOptionalHeader && self . Characteristics == other . Characteristics } } impl :: std :: cmp :: Eq for IMAGE_FILE_HEADER { } unsafe impl :: windows :: Abi for IMAGE_FILE_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_MACHINE ( pub u16 ) ; pub const IMAGE_FILE_MACHINE_AXP64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_I386 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 332u16 ) ; pub const IMAGE_FILE_MACHINE_IA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 512u16 ) ; pub const IMAGE_FILE_MACHINE_AMD64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 34404u16 ) ; pub const IMAGE_FILE_MACHINE_UNKNOWN : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 0u16 ) ; pub const IMAGE_FILE_MACHINE_TARGET_HOST : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1u16 ) ; pub const IMAGE_FILE_MACHINE_R3000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 354u16 ) ; pub const IMAGE_FILE_MACHINE_R4000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 358u16 ) ; pub const IMAGE_FILE_MACHINE_R10000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 360u16 ) ; pub const IMAGE_FILE_MACHINE_WCEMIPSV2 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 361u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 388u16 ) ; pub const IMAGE_FILE_MACHINE_SH3 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 418u16 ) ; pub const IMAGE_FILE_MACHINE_SH3DSP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 419u16 ) ; pub const IMAGE_FILE_MACHINE_SH3E : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 420u16 ) ; pub const IMAGE_FILE_MACHINE_SH4 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 422u16 ) ; pub const IMAGE_FILE_MACHINE_SH5 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 424u16 ) ; pub const IMAGE_FILE_MACHINE_ARM : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 448u16 ) ; pub const IMAGE_FILE_MACHINE_THUMB : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 450u16 ) ; pub const IMAGE_FILE_MACHINE_ARMNT : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 452u16 ) ; pub const IMAGE_FILE_MACHINE_AM33 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 467u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 496u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPCFP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 497u16 ) ; pub const IMAGE_FILE_MACHINE_MIPS16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 614u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 870u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1126u16 ) ; pub const IMAGE_FILE_MACHINE_TRICORE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1312u16 ) ; pub const IMAGE_FILE_MACHINE_CEF : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3311u16 ) ; pub const IMAGE_FILE_MACHINE_EBC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3772u16 ) ; pub const IMAGE_FILE_MACHINE_M32R : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 36929u16 ) ; pub const IMAGE_FILE_MACHINE_ARM64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 43620u16 ) ; pub const IMAGE_FILE_MACHINE_CEE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 49390u16 ) ; impl :: std :: convert :: From < u16 > for IMAGE_FILE_MACHINE { fn from ( value : u16 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_MACHINE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS32 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER32 } impl IMAGE_NT_HEADERS32 { } impl :: std :: default :: Default for IMAGE_NT_HEADERS32 { fn default ( ) -> Self { Self { Signature : 0 , FileHeader : :: std :: default :: Default :: default ( ) , OptionalHeader : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_NT_HEADERS32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_NT_HEADERS32" ) . field ( "Signature" , & self . Signature ) . field ( "FileHeader" , & self . FileHeader ) . field ( "OptionalHeader" , & self . OptionalHeader ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS32 { fn eq ( & self , other : & Self ) -> bool { self . Signature == other . Signature && self . FileHeader == other . FileHeader && self . OptionalHeader == other . OptionalHeader } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS32 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS64 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER64 } impl IMAGE_NT_HEADERS64 { } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS64 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_OPTIONAL_HEADER32 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub BaseOfData : u32 , pub ImageBase : u32 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u32 , pub SizeOfStackCommit : u32 , pub SizeOfHeapReserve : u32 , pub SizeOfHeapCommit : u32 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER32 { } impl :: std :: default :: Default for IMAGE_OPTIONAL_HEADER32 { fn default ( ) -> Self { Self { Magic : :: std :: default :: Default :: default ( ) , MajorLinkerVersion : 0 , MinorLinkerVersion : 0 , SizeOfCode : 0 , SizeOfInitializedData : 0 , SizeOfUninitializedData : 0 , AddressOfEntryPoint : 0 , BaseOfCode : 0 , BaseOfData : 0 , ImageBase : 0 , SectionAlignment : 0 , FileAlignment : 0 , MajorOperatingSystemVersion : 0 , MinorOperatingSystemVersion : 0 , MajorImageVersion : 0 , MinorImageVersion : 0 , MajorSubsystemVersion : 0 , MinorSubsystemVersion : 0 , Win32VersionValue : 0 , SizeOfImage : 0 , SizeOfHeaders : 0 , CheckSum : 0 , Subsystem : :: std :: default :: Default :: default ( ) , DllCharacteristics : :: std :: default :: Default :: default ( ) , SizeOfStackReserve : 0 , SizeOfStackCommit : 0 , SizeOfHeapReserve : 0 , SizeOfHeapCommit : 0 , LoaderFlags : 0 , NumberOfRvaAndSizes : 0 , DataDirectory : [ :: std :: default :: Default :: default ( ) ;16 ] } } } impl :: std :: fmt :: Debug for IMAGE_OPTIONAL_HEADER32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_OPTIONAL_HEADER32" ) . field ( "Magic" , & self . Magic ) . field ( "MajorLinkerVersion" , & self . MajorLinkerVersion ) . field ( "MinorLinkerVersion" , & self . MinorLinkerVersion ) . field ( "SizeOfCode" , & self . SizeOfCode ) . field ( "SizeOfInitializedData" , & self . SizeOfInitializedData ) . field ( "SizeOfUninitializedData" , & self . SizeOfUninitializedData ) . field ( "AddressOfEntryPoint" , & self . AddressOfEntryPoint ) . field ( "BaseOfCode" , & self . BaseOfCode ) . field ( "BaseOfData" , & self . BaseOfData ) . field ( "ImageBase" , & self . ImageBase ) . field ( "SectionAlignment" , & self . SectionAlignment ) . field ( "FileAlignment" , & self . FileAlignment ) . field ( "MajorOperatingSystemVersion" , & self . MajorOperatingSystemVersion ) . field ( "MinorOperatingSystemVersion" , & self . MinorOperatingSystemVersion ) . field ( "MajorImageVersion" , & self . MajorImageVersion ) . field ( "MinorImageVersion" , & self . MinorImageVersion ) . field ( "MajorSubsystemVersion" , & self . MajorSubsystemVersion ) . field ( "MinorSubsystemVersion" , & self . MinorSubsystemVersion ) . field ( "Win32VersionValue" , & self . Win32VersionValue ) . field ( "SizeOfImage" , & self . SizeOfImage ) . field ( "SizeOfHeaders" , & self . SizeOfHeaders ) . field ( "CheckSum" , & self . CheckSum ) . field ( "Subsystem" , & self . Subsystem ) . field ( "DllCharacteristics" , & self . DllCharacteristics ) . field ( "SizeOfStackReserve" , & self . SizeOfStackReserve ) . field ( "SizeOfStackCommit" , & self . SizeOfStackCommit ) . field ( "SizeOfHeapReserve" , & self . SizeOfHeapReserve ) . field ( "SizeOfHeapCommit" , & self . SizeOfHeapCommit ) . field ( "LoaderFlags" , & self . LoaderFlags ) . field ( "NumberOfRvaAndSizes" , & self . NumberOfRvaAndSizes ) . field ( "DataDirectory" , & self . DataDirectory ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER32 { fn eq ( & self , other : & Self ) -> bool { self . Magic == other . Magic && self . MajorLinkerVersion == other . MajorLinkerVersion && self . MinorLinkerVersion == other . MinorLinkerVersion && self . SizeOfCode == other . SizeOfCode && self . SizeOfInitializedData == other . SizeOfInitializedData && self . SizeOfUninitializedData == other . SizeOfUninitializedData && self . AddressOfEntryPoint == other . AddressOfEntryPoint && self . BaseOfCode == other . BaseOfCode && self . BaseOfData == other . BaseOfData && self . ImageBase == other . ImageBase && self . SectionAlignment == other . SectionAlignment && self . FileAlignment == other . FileAlignment && self . MajorOperatingSystemVersion == other . MajorOperatingSystemVersion && self . MinorOperatingSystemVersion == other . MinorOperatingSystemVersion && self . MajorImageVersion == other . MajorImageVersion && self . MinorImageVersion == other . MinorImageVersion && self . MajorSubsystemVersion == other . MajorSubsystemVersion && self . MinorSubsystemVersion == other . MinorSubsystemVersion && self . Win32VersionValue == other . Win32VersionValue && self . SizeOfImage == other . SizeOfImage && self . SizeOfHeaders == other . SizeOfHeaders && self . CheckSum == other . CheckSum && self . Subsystem == other . Subsystem && self . DllCharacteristics == other . DllCharacteristics && self . SizeOfStackReserve == other . SizeOfStackReserve && self . SizeOfStackCommit == other . SizeOfStackCommit && self . SizeOfHeapReserve == other . SizeOfHeapReserve && self . SizeOfHeapCommit == other . SizeOfHeapCommit && self . LoaderFlags == other . LoaderFlags && self . NumberOfRvaAndSizes == other . NumberOfRvaAndSizes && self . DataDirectory == other . DataDirectory } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER32 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 4 ) ) ] pub struct IMAGE_OPTIONAL_HEADER64 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub ImageBase : u64 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u64 , pub SizeOfStackCommit : u64 , pub SizeOfHeapReserve : u64 , pub SizeOfHeapCommit : u64 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER64 { } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER64 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_OPTIONAL_HEADER_MAGIC ( pub u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 267u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 263u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_OPTIONAL_HEADER_MAGIC { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER_MAGIC { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_SUBSYSTEM ( pub u32 ) ; pub const IMAGE_SUBSYSTEM_UNKNOWN : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 0u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 1u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 2u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 3u32 ) ; pub const IMAGE_SUBSYSTEM_OS2_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 5u32 ) ; pub const IMAGE_SUBSYSTEM_POSIX_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 7u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 8u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 9u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 10u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 11u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 12u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_ROM : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 13u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 14u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 16u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 17u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_SUBSYSTEM { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_SUBSYSTEM { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_SUBSYSTEM { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_SUBSYSTEM { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_SUBSYSTEM { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_SUBSYSTEM { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn DisableThreadLibraryCalls < 'a , > ( hlibmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn DisableThreadLibraryCalls ( hlibmodule : super::super::Foundation:: HINSTANCE ) -> super::super::Foundation:: BOOL ; } DisableThreadLibraryCalls ( hlibmodule . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetModuleHandleA < 'a , > ( lpmodulename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , ) -> super::super::Foundation:: HINSTANCE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleHandleA ( lpmodulename : super::super::Foundation:: PSTR ) -> super::super::Foundation:: HINSTANCE ; } GetModuleHandleA ( lpmodulename . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { pub const DLL_PROCESS_ATTACH : u32 = 1u32 ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 2 ) ) ] pub struct IMAGE_DOS_HEADER { pub e_magic : u16 , pub e_cblp : u16 , pub e_cp : u16 , pub e_crlc : u16 , pub e_cparhdr : u16 , pub e_minalloc : u16 , pub e_maxalloc : u16 , pub e_ss : u16 , pub e_sp : u16 , pub e_csum : u16 , pub e_ip : u16 , pub e_cs : u16 , pub e_lfarlc : u16 , pub e_ovno : u16 , pub e_res : [ u16 ;4 ] , pub e_oemid : u16 , pub e_oeminfo : u16 , pub e_res2 : [ u16 ;10 ] , pub e_lfanew : i32 } impl IMAGE_DOS_HEADER { } impl :: std :: cmp :: PartialEq for IMAGE_DOS_HEADER { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_DOS_HEADER { } unsafe impl :: windows :: Abi for IMAGE_DOS_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_IMPORT_DESCRIPTOR { pub Anonymous : IMAGE_IMPORT_DESCRIPTOR_0 , pub TimeDateStamp : u32 , pub ForwarderChain : u32 , pub Name : u32 , pub FirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union IMAGE_IMPORT_DESCRIPTOR_0 { pub Characteristics : u32 , pub OriginalFirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR_0 { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR_0 { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR_0 { type Abi = Self ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod KeyboardAndMouseInput { pub unsafe fn GetAsyncKeyState < > ( vkey : i32 , ) -> i16 { # [ cfg ( windows ) ] { # [ link ( name ="USER32" ) ] extern "system" { fn GetAsyncKeyState ( vkey : i32 ) -> i16 ; } GetAsyncKeyState ( :: std :: mem :: transmute ( vkey ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling toy-arms-bindings v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/toy-arms-bindings-a8f7447e7e2c00a4/out/windows.rs:1:3933 [INFO] [stdout] | [INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Console { pub unsafe fn AllocConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn AllocConsole ( ) -> super::super::Foundation:: BOOL ; } AllocConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn FreeConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn FreeConsole ( ) -> super::super::Foundation:: BOOL ; } FreeConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_DATA_DIRECTORY { pub VirtualAddress : u32 , pub Size : u32 } impl IMAGE_DATA_DIRECTORY { } impl :: std :: default :: Default for IMAGE_DATA_DIRECTORY { fn default ( ) -> Self { Self { VirtualAddress : 0 , Size : 0 } } } impl :: std :: fmt :: Debug for IMAGE_DATA_DIRECTORY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_DATA_DIRECTORY" ) . field ( "VirtualAddress" , & self . VirtualAddress ) . field ( "Size" , & self . Size ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_DATA_DIRECTORY { fn eq ( & self , other : & Self ) -> bool { self . VirtualAddress == other . VirtualAddress && self . Size == other . Size } } impl :: std :: cmp :: Eq for IMAGE_DATA_DIRECTORY { } unsafe impl :: windows :: Abi for IMAGE_DATA_DIRECTORY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_DLL_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 64u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_SEH : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_BIND : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32768u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_DLL_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_DLL_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_DLL_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_DLL_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_FILE_RELOCS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1u32 ) ; pub const IMAGE_FILE_EXECUTABLE_IMAGE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2u32 ) ; pub const IMAGE_FILE_LINE_NUMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4u32 ) ; pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8u32 ) ; pub const IMAGE_FILE_AGGRESIVE_WS_TRIM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16u32 ) ; pub const IMAGE_FILE_LARGE_ADDRESS_AWARE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_LO : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_FILE_32BIT_MACHINE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_FILE_DEBUG_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_FILE_NET_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_FILE_SYSTEM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_FILE_DLL : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_FILE_UP_SYSTEM_ONLY : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_HI : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32768u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_FILE_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_FILE_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_FILE_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_FILE_HEADER { pub Machine : IMAGE_FILE_MACHINE , pub NumberOfSections : u16 , pub TimeDateStamp : u32 , pub PointerToSymbolTable : u32 , pub NumberOfSymbols : u32 , pub SizeOfOptionalHeader : u16 , pub Characteristics : IMAGE_FILE_CHARACTERISTICS } impl IMAGE_FILE_HEADER { } impl :: std :: default :: Default for IMAGE_FILE_HEADER { fn default ( ) -> Self { Self { Machine : :: std :: default :: Default :: default ( ) , NumberOfSections : 0 , TimeDateStamp : 0 , PointerToSymbolTable : 0 , NumberOfSymbols : 0 , SizeOfOptionalHeader : 0 , Characteristics : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_FILE_HEADER { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_FILE_HEADER" ) . field ( "Machine" , & self . Machine ) . field ( "NumberOfSections" , & self . NumberOfSections ) . field ( "TimeDateStamp" , & self . TimeDateStamp ) . field ( "PointerToSymbolTable" , & self . PointerToSymbolTable ) . field ( "NumberOfSymbols" , & self . NumberOfSymbols ) . field ( "SizeOfOptionalHeader" , & self . SizeOfOptionalHeader ) . field ( "Characteristics" , & self . Characteristics ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_FILE_HEADER { fn eq ( & self , other : & Self ) -> bool { self . Machine == other . Machine && self . NumberOfSections == other . NumberOfSections && self . TimeDateStamp == other . TimeDateStamp && self . PointerToSymbolTable == other . PointerToSymbolTable && self . NumberOfSymbols == other . NumberOfSymbols && self . SizeOfOptionalHeader == other . SizeOfOptionalHeader && self . Characteristics == other . Characteristics } } impl :: std :: cmp :: Eq for IMAGE_FILE_HEADER { } unsafe impl :: windows :: Abi for IMAGE_FILE_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_MACHINE ( pub u16 ) ; pub const IMAGE_FILE_MACHINE_AXP64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_I386 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 332u16 ) ; pub const IMAGE_FILE_MACHINE_IA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 512u16 ) ; pub const IMAGE_FILE_MACHINE_AMD64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 34404u16 ) ; pub const IMAGE_FILE_MACHINE_UNKNOWN : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 0u16 ) ; pub const IMAGE_FILE_MACHINE_TARGET_HOST : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1u16 ) ; pub const IMAGE_FILE_MACHINE_R3000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 354u16 ) ; pub const IMAGE_FILE_MACHINE_R4000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 358u16 ) ; pub const IMAGE_FILE_MACHINE_R10000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 360u16 ) ; pub const IMAGE_FILE_MACHINE_WCEMIPSV2 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 361u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 388u16 ) ; pub const IMAGE_FILE_MACHINE_SH3 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 418u16 ) ; pub const IMAGE_FILE_MACHINE_SH3DSP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 419u16 ) ; pub const IMAGE_FILE_MACHINE_SH3E : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 420u16 ) ; pub const IMAGE_FILE_MACHINE_SH4 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 422u16 ) ; pub const IMAGE_FILE_MACHINE_SH5 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 424u16 ) ; pub const IMAGE_FILE_MACHINE_ARM : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 448u16 ) ; pub const IMAGE_FILE_MACHINE_THUMB : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 450u16 ) ; pub const IMAGE_FILE_MACHINE_ARMNT : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 452u16 ) ; pub const IMAGE_FILE_MACHINE_AM33 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 467u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 496u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPCFP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 497u16 ) ; pub const IMAGE_FILE_MACHINE_MIPS16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 614u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 870u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1126u16 ) ; pub const IMAGE_FILE_MACHINE_TRICORE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1312u16 ) ; pub const IMAGE_FILE_MACHINE_CEF : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3311u16 ) ; pub const IMAGE_FILE_MACHINE_EBC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3772u16 ) ; pub const IMAGE_FILE_MACHINE_M32R : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 36929u16 ) ; pub const IMAGE_FILE_MACHINE_ARM64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 43620u16 ) ; pub const IMAGE_FILE_MACHINE_CEE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 49390u16 ) ; impl :: std :: convert :: From < u16 > for IMAGE_FILE_MACHINE { fn from ( value : u16 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_MACHINE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS32 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER32 } impl IMAGE_NT_HEADERS32 { } impl :: std :: default :: Default for IMAGE_NT_HEADERS32 { fn default ( ) -> Self { Self { Signature : 0 , FileHeader : :: std :: default :: Default :: default ( ) , OptionalHeader : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_NT_HEADERS32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_NT_HEADERS32" ) . field ( "Signature" , & self . Signature ) . field ( "FileHeader" , & self . FileHeader ) . field ( "OptionalHeader" , & self . OptionalHeader ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS32 { fn eq ( & self , other : & Self ) -> bool { self . Signature == other . Signature && self . FileHeader == other . FileHeader && self . OptionalHeader == other . OptionalHeader } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS32 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS64 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER64 } impl IMAGE_NT_HEADERS64 { } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS64 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_OPTIONAL_HEADER32 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub BaseOfData : u32 , pub ImageBase : u32 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u32 , pub SizeOfStackCommit : u32 , pub SizeOfHeapReserve : u32 , pub SizeOfHeapCommit : u32 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER32 { } impl :: std :: default :: Default for IMAGE_OPTIONAL_HEADER32 { fn default ( ) -> Self { Self { Magic : :: std :: default :: Default :: default ( ) , MajorLinkerVersion : 0 , MinorLinkerVersion : 0 , SizeOfCode : 0 , SizeOfInitializedData : 0 , SizeOfUninitializedData : 0 , AddressOfEntryPoint : 0 , BaseOfCode : 0 , BaseOfData : 0 , ImageBase : 0 , SectionAlignment : 0 , FileAlignment : 0 , MajorOperatingSystemVersion : 0 , MinorOperatingSystemVersion : 0 , MajorImageVersion : 0 , MinorImageVersion : 0 , MajorSubsystemVersion : 0 , MinorSubsystemVersion : 0 , Win32VersionValue : 0 , SizeOfImage : 0 , SizeOfHeaders : 0 , CheckSum : 0 , Subsystem : :: std :: default :: Default :: default ( ) , DllCharacteristics : :: std :: default :: Default :: default ( ) , SizeOfStackReserve : 0 , SizeOfStackCommit : 0 , SizeOfHeapReserve : 0 , SizeOfHeapCommit : 0 , LoaderFlags : 0 , NumberOfRvaAndSizes : 0 , DataDirectory : [ :: std :: default :: Default :: default ( ) ;16 ] } } } impl :: std :: fmt :: Debug for IMAGE_OPTIONAL_HEADER32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_OPTIONAL_HEADER32" ) . field ( "Magic" , & self . Magic ) . field ( "MajorLinkerVersion" , & self . MajorLinkerVersion ) . field ( "MinorLinkerVersion" , & self . MinorLinkerVersion ) . field ( "SizeOfCode" , & self . SizeOfCode ) . field ( "SizeOfInitializedData" , & self . SizeOfInitializedData ) . field ( "SizeOfUninitializedData" , & self . SizeOfUninitializedData ) . field ( "AddressOfEntryPoint" , & self . AddressOfEntryPoint ) . field ( "BaseOfCode" , & self . BaseOfCode ) . field ( "BaseOfData" , & self . BaseOfData ) . field ( "ImageBase" , & self . ImageBase ) . field ( "SectionAlignment" , & self . SectionAlignment ) . field ( "FileAlignment" , & self . FileAlignment ) . field ( "MajorOperatingSystemVersion" , & self . MajorOperatingSystemVersion ) . field ( "MinorOperatingSystemVersion" , & self . MinorOperatingSystemVersion ) . field ( "MajorImageVersion" , & self . MajorImageVersion ) . field ( "MinorImageVersion" , & self . MinorImageVersion ) . field ( "MajorSubsystemVersion" , & self . MajorSubsystemVersion ) . field ( "MinorSubsystemVersion" , & self . MinorSubsystemVersion ) . field ( "Win32VersionValue" , & self . Win32VersionValue ) . field ( "SizeOfImage" , & self . SizeOfImage ) . field ( "SizeOfHeaders" , & self . SizeOfHeaders ) . field ( "CheckSum" , & self . CheckSum ) . field ( "Subsystem" , & self . Subsystem ) . field ( "DllCharacteristics" , & self . DllCharacteristics ) . field ( "SizeOfStackReserve" , & self . SizeOfStackReserve ) . field ( "SizeOfStackCommit" , & self . SizeOfStackCommit ) . field ( "SizeOfHeapReserve" , & self . SizeOfHeapReserve ) . field ( "SizeOfHeapCommit" , & self . SizeOfHeapCommit ) . field ( "LoaderFlags" , & self . LoaderFlags ) . field ( "NumberOfRvaAndSizes" , & self . NumberOfRvaAndSizes ) . field ( "DataDirectory" , & self . DataDirectory ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER32 { fn eq ( & self , other : & Self ) -> bool { self . Magic == other . Magic && self . MajorLinkerVersion == other . MajorLinkerVersion && self . MinorLinkerVersion == other . MinorLinkerVersion && self . SizeOfCode == other . SizeOfCode && self . SizeOfInitializedData == other . SizeOfInitializedData && self . SizeOfUninitializedData == other . SizeOfUninitializedData && self . AddressOfEntryPoint == other . AddressOfEntryPoint && self . BaseOfCode == other . BaseOfCode && self . BaseOfData == other . BaseOfData && self . ImageBase == other . ImageBase && self . SectionAlignment == other . SectionAlignment && self . FileAlignment == other . FileAlignment && self . MajorOperatingSystemVersion == other . MajorOperatingSystemVersion && self . MinorOperatingSystemVersion == other . MinorOperatingSystemVersion && self . MajorImageVersion == other . MajorImageVersion && self . MinorImageVersion == other . MinorImageVersion && self . MajorSubsystemVersion == other . MajorSubsystemVersion && self . MinorSubsystemVersion == other . MinorSubsystemVersion && self . Win32VersionValue == other . Win32VersionValue && self . SizeOfImage == other . SizeOfImage && self . SizeOfHeaders == other . SizeOfHeaders && self . CheckSum == other . CheckSum && self . Subsystem == other . Subsystem && self . DllCharacteristics == other . DllCharacteristics && self . SizeOfStackReserve == other . SizeOfStackReserve && self . SizeOfStackCommit == other . SizeOfStackCommit && self . SizeOfHeapReserve == other . SizeOfHeapReserve && self . SizeOfHeapCommit == other . SizeOfHeapCommit && self . LoaderFlags == other . LoaderFlags && self . NumberOfRvaAndSizes == other . NumberOfRvaAndSizes && self . DataDirectory == other . DataDirectory } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER32 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 4 ) ) ] pub struct IMAGE_OPTIONAL_HEADER64 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub ImageBase : u64 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u64 , pub SizeOfStackCommit : u64 , pub SizeOfHeapReserve : u64 , pub SizeOfHeapCommit : u64 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER64 { } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER64 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_OPTIONAL_HEADER_MAGIC ( pub u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 267u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 263u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_OPTIONAL_HEADER_MAGIC { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER_MAGIC { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_SUBSYSTEM ( pub u32 ) ; pub const IMAGE_SUBSYSTEM_UNKNOWN : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 0u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 1u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 2u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 3u32 ) ; pub const IMAGE_SUBSYSTEM_OS2_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 5u32 ) ; pub const IMAGE_SUBSYSTEM_POSIX_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 7u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 8u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 9u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 10u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 11u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 12u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_ROM : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 13u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 14u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 16u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 17u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_SUBSYSTEM { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_SUBSYSTEM { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_SUBSYSTEM { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_SUBSYSTEM { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_SUBSYSTEM { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_SUBSYSTEM { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn DisableThreadLibraryCalls < 'a , > ( hlibmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn DisableThreadLibraryCalls ( hlibmodule : super::super::Foundation:: HINSTANCE ) -> super::super::Foundation:: BOOL ; } DisableThreadLibraryCalls ( hlibmodule . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetModuleHandleA < 'a , > ( lpmodulename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , ) -> super::super::Foundation:: HINSTANCE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleHandleA ( lpmodulename : super::super::Foundation:: PSTR ) -> super::super::Foundation:: HINSTANCE ; } GetModuleHandleA ( lpmodulename . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { pub const DLL_PROCESS_ATTACH : u32 = 1u32 ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 2 ) ) ] pub struct IMAGE_DOS_HEADER { pub e_magic : u16 , pub e_cblp : u16 , pub e_cp : u16 , pub e_crlc : u16 , pub e_cparhdr : u16 , pub e_minalloc : u16 , pub e_maxalloc : u16 , pub e_ss : u16 , pub e_sp : u16 , pub e_csum : u16 , pub e_ip : u16 , pub e_cs : u16 , pub e_lfarlc : u16 , pub e_ovno : u16 , pub e_res : [ u16 ;4 ] , pub e_oemid : u16 , pub e_oeminfo : u16 , pub e_res2 : [ u16 ;10 ] , pub e_lfanew : i32 } impl IMAGE_DOS_HEADER { } impl :: std :: cmp :: PartialEq for IMAGE_DOS_HEADER { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_DOS_HEADER { } unsafe impl :: windows :: Abi for IMAGE_DOS_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_IMPORT_DESCRIPTOR { pub Anonymous : IMAGE_IMPORT_DESCRIPTOR_0 , pub TimeDateStamp : u32 , pub ForwarderChain : u32 , pub Name : u32 , pub FirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union IMAGE_IMPORT_DESCRIPTOR_0 { pub Characteristics : u32 , pub OriginalFirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR_0 { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR_0 { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR_0 { type Abi = Self ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod KeyboardAndMouseInput { pub unsafe fn GetAsyncKeyState < > ( vkey : i32 , ) -> i16 { # [ cfg ( windows ) ] { # [ link ( name ="USER32" ) ] extern "system" { fn GetAsyncKeyState ( vkey : i32 ) -> i16 ; } GetAsyncKeyState ( :: std :: mem :: transmute ( vkey ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s [INFO] running `Command { std: "docker" "inspect" "d1289e45d08572e33e40a2729157dd5798ef2664c1b20250e66820175251781b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1289e45d08572e33e40a2729157dd5798ef2664c1b20250e66820175251781b", kill_on_drop: false }` [INFO] [stdout] d1289e45d08572e33e40a2729157dd5798ef2664c1b20250e66820175251781b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 90e7a64645b60d7afb85adc2392da886c731e09b83f41bda4a070f25fc86838c [INFO] running `Command { std: "docker" "start" "-a" "90e7a64645b60d7afb85adc2392da886c731e09b83f41bda4a070f25fc86838c", kill_on_drop: false }` [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> /opt/rustwide/target/debug/build/toy-arms-bindings-a8f7447e7e2c00a4/out/windows.rs:1:3933 [INFO] [stderr] | [INFO] [stderr] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Console { pub unsafe fn AllocConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn AllocConsole ( ) -> super::super::Foundation:: BOOL ; } AllocConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn FreeConsole < > ( ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn FreeConsole ( ) -> super::super::Foundation:: BOOL ; } FreeConsole ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_DATA_DIRECTORY { pub VirtualAddress : u32 , pub Size : u32 } impl IMAGE_DATA_DIRECTORY { } impl :: std :: default :: Default for IMAGE_DATA_DIRECTORY { fn default ( ) -> Self { Self { VirtualAddress : 0 , Size : 0 } } } impl :: std :: fmt :: Debug for IMAGE_DATA_DIRECTORY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_DATA_DIRECTORY" ) . field ( "VirtualAddress" , & self . VirtualAddress ) . field ( "Size" , & self . Size ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_DATA_DIRECTORY { fn eq ( & self , other : & Self ) -> bool { self . VirtualAddress == other . VirtualAddress && self . Size == other . Size } } impl :: std :: cmp :: Eq for IMAGE_DATA_DIRECTORY { } unsafe impl :: windows :: Abi for IMAGE_DATA_DIRECTORY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_DLL_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 64u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_SEH : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_NO_BIND : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 32768u32 ) ; pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT : IMAGE_DLL_CHARACTERISTICS = IMAGE_DLL_CHARACTERISTICS ( 1u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_DLL_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_DLL_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_DLL_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_DLL_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_DLL_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_CHARACTERISTICS ( pub u32 ) ; pub const IMAGE_FILE_RELOCS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1u32 ) ; pub const IMAGE_FILE_EXECUTABLE_IMAGE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2u32 ) ; pub const IMAGE_FILE_LINE_NUMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4u32 ) ; pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8u32 ) ; pub const IMAGE_FILE_AGGRESIVE_WS_TRIM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16u32 ) ; pub const IMAGE_FILE_LARGE_ADDRESS_AWARE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_LO : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 128u32 ) ; pub const IMAGE_FILE_32BIT_MACHINE : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 256u32 ) ; pub const IMAGE_FILE_DEBUG_STRIPPED : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 512u32 ) ; pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 1024u32 ) ; pub const IMAGE_FILE_NET_RUN_FROM_SWAP : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 2048u32 ) ; pub const IMAGE_FILE_SYSTEM : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 4096u32 ) ; pub const IMAGE_FILE_DLL : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 8192u32 ) ; pub const IMAGE_FILE_UP_SYSTEM_ONLY : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 16384u32 ) ; pub const IMAGE_FILE_BYTES_REVERSED_HI : IMAGE_FILE_CHARACTERISTICS = IMAGE_FILE_CHARACTERISTICS ( 32768u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_FILE_CHARACTERISTICS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_CHARACTERISTICS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_FILE_CHARACTERISTICS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_FILE_CHARACTERISTICS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_FILE_CHARACTERISTICS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_FILE_HEADER { pub Machine : IMAGE_FILE_MACHINE , pub NumberOfSections : u16 , pub TimeDateStamp : u32 , pub PointerToSymbolTable : u32 , pub NumberOfSymbols : u32 , pub SizeOfOptionalHeader : u16 , pub Characteristics : IMAGE_FILE_CHARACTERISTICS } impl IMAGE_FILE_HEADER { } impl :: std :: default :: Default for IMAGE_FILE_HEADER { fn default ( ) -> Self { Self { Machine : :: std :: default :: Default :: default ( ) , NumberOfSections : 0 , TimeDateStamp : 0 , PointerToSymbolTable : 0 , NumberOfSymbols : 0 , SizeOfOptionalHeader : 0 , Characteristics : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_FILE_HEADER { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_FILE_HEADER" ) . field ( "Machine" , & self . Machine ) . field ( "NumberOfSections" , & self . NumberOfSections ) . field ( "TimeDateStamp" , & self . TimeDateStamp ) . field ( "PointerToSymbolTable" , & self . PointerToSymbolTable ) . field ( "NumberOfSymbols" , & self . NumberOfSymbols ) . field ( "SizeOfOptionalHeader" , & self . SizeOfOptionalHeader ) . field ( "Characteristics" , & self . Characteristics ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_FILE_HEADER { fn eq ( & self , other : & Self ) -> bool { self . Machine == other . Machine && self . NumberOfSections == other . NumberOfSections && self . TimeDateStamp == other . TimeDateStamp && self . PointerToSymbolTable == other . PointerToSymbolTable && self . NumberOfSymbols == other . NumberOfSymbols && self . SizeOfOptionalHeader == other . SizeOfOptionalHeader && self . Characteristics == other . Characteristics } } impl :: std :: cmp :: Eq for IMAGE_FILE_HEADER { } unsafe impl :: windows :: Abi for IMAGE_FILE_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_FILE_MACHINE ( pub u16 ) ; pub const IMAGE_FILE_MACHINE_AXP64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_I386 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 332u16 ) ; pub const IMAGE_FILE_MACHINE_IA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 512u16 ) ; pub const IMAGE_FILE_MACHINE_AMD64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 34404u16 ) ; pub const IMAGE_FILE_MACHINE_UNKNOWN : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 0u16 ) ; pub const IMAGE_FILE_MACHINE_TARGET_HOST : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1u16 ) ; pub const IMAGE_FILE_MACHINE_R3000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 354u16 ) ; pub const IMAGE_FILE_MACHINE_R4000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 358u16 ) ; pub const IMAGE_FILE_MACHINE_R10000 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 360u16 ) ; pub const IMAGE_FILE_MACHINE_WCEMIPSV2 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 361u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 388u16 ) ; pub const IMAGE_FILE_MACHINE_SH3 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 418u16 ) ; pub const IMAGE_FILE_MACHINE_SH3DSP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 419u16 ) ; pub const IMAGE_FILE_MACHINE_SH3E : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 420u16 ) ; pub const IMAGE_FILE_MACHINE_SH4 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 422u16 ) ; pub const IMAGE_FILE_MACHINE_SH5 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 424u16 ) ; pub const IMAGE_FILE_MACHINE_ARM : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 448u16 ) ; pub const IMAGE_FILE_MACHINE_THUMB : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 450u16 ) ; pub const IMAGE_FILE_MACHINE_ARMNT : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 452u16 ) ; pub const IMAGE_FILE_MACHINE_AM33 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 467u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 496u16 ) ; pub const IMAGE_FILE_MACHINE_POWERPCFP : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 497u16 ) ; pub const IMAGE_FILE_MACHINE_MIPS16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 614u16 ) ; pub const IMAGE_FILE_MACHINE_ALPHA64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 644u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 870u16 ) ; pub const IMAGE_FILE_MACHINE_MIPSFPU16 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1126u16 ) ; pub const IMAGE_FILE_MACHINE_TRICORE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 1312u16 ) ; pub const IMAGE_FILE_MACHINE_CEF : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3311u16 ) ; pub const IMAGE_FILE_MACHINE_EBC : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 3772u16 ) ; pub const IMAGE_FILE_MACHINE_M32R : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 36929u16 ) ; pub const IMAGE_FILE_MACHINE_ARM64 : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 43620u16 ) ; pub const IMAGE_FILE_MACHINE_CEE : IMAGE_FILE_MACHINE = IMAGE_FILE_MACHINE ( 49390u16 ) ; impl :: std :: convert :: From < u16 > for IMAGE_FILE_MACHINE { fn from ( value : u16 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_FILE_MACHINE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS32 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER32 } impl IMAGE_NT_HEADERS32 { } impl :: std :: default :: Default for IMAGE_NT_HEADERS32 { fn default ( ) -> Self { Self { Signature : 0 , FileHeader : :: std :: default :: Default :: default ( ) , OptionalHeader : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for IMAGE_NT_HEADERS32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_NT_HEADERS32" ) . field ( "Signature" , & self . Signature ) . field ( "FileHeader" , & self . FileHeader ) . field ( "OptionalHeader" , & self . OptionalHeader ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS32 { fn eq ( & self , other : & Self ) -> bool { self . Signature == other . Signature && self . FileHeader == other . FileHeader && self . OptionalHeader == other . OptionalHeader } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS32 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_NT_HEADERS64 { pub Signature : u32 , pub FileHeader : IMAGE_FILE_HEADER , pub OptionalHeader : IMAGE_OPTIONAL_HEADER64 } impl IMAGE_NT_HEADERS64 { } impl :: std :: cmp :: PartialEq for IMAGE_NT_HEADERS64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_NT_HEADERS64 { } unsafe impl :: windows :: Abi for IMAGE_NT_HEADERS64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_OPTIONAL_HEADER32 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub BaseOfData : u32 , pub ImageBase : u32 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u32 , pub SizeOfStackCommit : u32 , pub SizeOfHeapReserve : u32 , pub SizeOfHeapCommit : u32 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER32 { } impl :: std :: default :: Default for IMAGE_OPTIONAL_HEADER32 { fn default ( ) -> Self { Self { Magic : :: std :: default :: Default :: default ( ) , MajorLinkerVersion : 0 , MinorLinkerVersion : 0 , SizeOfCode : 0 , SizeOfInitializedData : 0 , SizeOfUninitializedData : 0 , AddressOfEntryPoint : 0 , BaseOfCode : 0 , BaseOfData : 0 , ImageBase : 0 , SectionAlignment : 0 , FileAlignment : 0 , MajorOperatingSystemVersion : 0 , MinorOperatingSystemVersion : 0 , MajorImageVersion : 0 , MinorImageVersion : 0 , MajorSubsystemVersion : 0 , MinorSubsystemVersion : 0 , Win32VersionValue : 0 , SizeOfImage : 0 , SizeOfHeaders : 0 , CheckSum : 0 , Subsystem : :: std :: default :: Default :: default ( ) , DllCharacteristics : :: std :: default :: Default :: default ( ) , SizeOfStackReserve : 0 , SizeOfStackCommit : 0 , SizeOfHeapReserve : 0 , SizeOfHeapCommit : 0 , LoaderFlags : 0 , NumberOfRvaAndSizes : 0 , DataDirectory : [ :: std :: default :: Default :: default ( ) ;16 ] } } } impl :: std :: fmt :: Debug for IMAGE_OPTIONAL_HEADER32 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "IMAGE_OPTIONAL_HEADER32" ) . field ( "Magic" , & self . Magic ) . field ( "MajorLinkerVersion" , & self . MajorLinkerVersion ) . field ( "MinorLinkerVersion" , & self . MinorLinkerVersion ) . field ( "SizeOfCode" , & self . SizeOfCode ) . field ( "SizeOfInitializedData" , & self . SizeOfInitializedData ) . field ( "SizeOfUninitializedData" , & self . SizeOfUninitializedData ) . field ( "AddressOfEntryPoint" , & self . AddressOfEntryPoint ) . field ( "BaseOfCode" , & self . BaseOfCode ) . field ( "BaseOfData" , & self . BaseOfData ) . field ( "ImageBase" , & self . ImageBase ) . field ( "SectionAlignment" , & self . SectionAlignment ) . field ( "FileAlignment" , & self . FileAlignment ) . field ( "MajorOperatingSystemVersion" , & self . MajorOperatingSystemVersion ) . field ( "MinorOperatingSystemVersion" , & self . MinorOperatingSystemVersion ) . field ( "MajorImageVersion" , & self . MajorImageVersion ) . field ( "MinorImageVersion" , & self . MinorImageVersion ) . field ( "MajorSubsystemVersion" , & self . MajorSubsystemVersion ) . field ( "MinorSubsystemVersion" , & self . MinorSubsystemVersion ) . field ( "Win32VersionValue" , & self . Win32VersionValue ) . field ( "SizeOfImage" , & self . SizeOfImage ) . field ( "SizeOfHeaders" , & self . SizeOfHeaders ) . field ( "CheckSum" , & self . CheckSum ) . field ( "Subsystem" , & self . Subsystem ) . field ( "DllCharacteristics" , & self . DllCharacteristics ) . field ( "SizeOfStackReserve" , & self . SizeOfStackReserve ) . field ( "SizeOfStackCommit" , & self . SizeOfStackCommit ) . field ( "SizeOfHeapReserve" , & self . SizeOfHeapReserve ) . field ( "SizeOfHeapCommit" , & self . SizeOfHeapCommit ) . field ( "LoaderFlags" , & self . LoaderFlags ) . field ( "NumberOfRvaAndSizes" , & self . NumberOfRvaAndSizes ) . field ( "DataDirectory" , & self . DataDirectory ) . finish ( ) } } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER32 { fn eq ( & self , other : & Self ) -> bool { self . Magic == other . Magic && self . MajorLinkerVersion == other . MajorLinkerVersion && self . MinorLinkerVersion == other . MinorLinkerVersion && self . SizeOfCode == other . SizeOfCode && self . SizeOfInitializedData == other . SizeOfInitializedData && self . SizeOfUninitializedData == other . SizeOfUninitializedData && self . AddressOfEntryPoint == other . AddressOfEntryPoint && self . BaseOfCode == other . BaseOfCode && self . BaseOfData == other . BaseOfData && self . ImageBase == other . ImageBase && self . SectionAlignment == other . SectionAlignment && self . FileAlignment == other . FileAlignment && self . MajorOperatingSystemVersion == other . MajorOperatingSystemVersion && self . MinorOperatingSystemVersion == other . MinorOperatingSystemVersion && self . MajorImageVersion == other . MajorImageVersion && self . MinorImageVersion == other . MinorImageVersion && self . MajorSubsystemVersion == other . MajorSubsystemVersion && self . MinorSubsystemVersion == other . MinorSubsystemVersion && self . Win32VersionValue == other . Win32VersionValue && self . SizeOfImage == other . SizeOfImage && self . SizeOfHeaders == other . SizeOfHeaders && self . CheckSum == other . CheckSum && self . Subsystem == other . Subsystem && self . DllCharacteristics == other . DllCharacteristics && self . SizeOfStackReserve == other . SizeOfStackReserve && self . SizeOfStackCommit == other . SizeOfStackCommit && self . SizeOfHeapReserve == other . SizeOfHeapReserve && self . SizeOfHeapCommit == other . SizeOfHeapCommit && self . LoaderFlags == other . LoaderFlags && self . NumberOfRvaAndSizes == other . NumberOfRvaAndSizes && self . DataDirectory == other . DataDirectory } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER32 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER32 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 4 ) ) ] pub struct IMAGE_OPTIONAL_HEADER64 { pub Magic : IMAGE_OPTIONAL_HEADER_MAGIC , pub MajorLinkerVersion : u8 , pub MinorLinkerVersion : u8 , pub SizeOfCode : u32 , pub SizeOfInitializedData : u32 , pub SizeOfUninitializedData : u32 , pub AddressOfEntryPoint : u32 , pub BaseOfCode : u32 , pub ImageBase : u64 , pub SectionAlignment : u32 , pub FileAlignment : u32 , pub MajorOperatingSystemVersion : u16 , pub MinorOperatingSystemVersion : u16 , pub MajorImageVersion : u16 , pub MinorImageVersion : u16 , pub MajorSubsystemVersion : u16 , pub MinorSubsystemVersion : u16 , pub Win32VersionValue : u32 , pub SizeOfImage : u32 , pub SizeOfHeaders : u32 , pub CheckSum : u32 , pub Subsystem : IMAGE_SUBSYSTEM , pub DllCharacteristics : IMAGE_DLL_CHARACTERISTICS , pub SizeOfStackReserve : u64 , pub SizeOfStackCommit : u64 , pub SizeOfHeapReserve : u64 , pub SizeOfHeapCommit : u64 , pub LoaderFlags : u32 , pub NumberOfRvaAndSizes : u32 , pub DataDirectory : [ IMAGE_DATA_DIRECTORY ;16 ] } impl IMAGE_OPTIONAL_HEADER64 { } impl :: std :: cmp :: PartialEq for IMAGE_OPTIONAL_HEADER64 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_OPTIONAL_HEADER64 { } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER64 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_OPTIONAL_HEADER_MAGIC ( pub u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 267u32 ) ; pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 523u32 ) ; pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC : IMAGE_OPTIONAL_HEADER_MAGIC = IMAGE_OPTIONAL_HEADER_MAGIC ( 263u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_OPTIONAL_HEADER_MAGIC { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_OPTIONAL_HEADER_MAGIC { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_OPTIONAL_HEADER_MAGIC { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_OPTIONAL_HEADER_MAGIC { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct IMAGE_SUBSYSTEM ( pub u32 ) ; pub const IMAGE_SUBSYSTEM_UNKNOWN : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 0u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 1u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 2u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 3u32 ) ; pub const IMAGE_SUBSYSTEM_OS2_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 5u32 ) ; pub const IMAGE_SUBSYSTEM_POSIX_CUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 7u32 ) ; pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 8u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 9u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 10u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 11u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 12u32 ) ; pub const IMAGE_SUBSYSTEM_EFI_ROM : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 13u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 14u32 ) ; pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 16u32 ) ; pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG : IMAGE_SUBSYSTEM = IMAGE_SUBSYSTEM ( 17u32 ) ; impl :: std :: convert :: From < u32 > for IMAGE_SUBSYSTEM { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for IMAGE_SUBSYSTEM { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for IMAGE_SUBSYSTEM { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for IMAGE_SUBSYSTEM { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for IMAGE_SUBSYSTEM { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for IMAGE_SUBSYSTEM { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn DisableThreadLibraryCalls < 'a , > ( hlibmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn DisableThreadLibraryCalls ( hlibmodule : super::super::Foundation:: HINSTANCE ) -> super::super::Foundation:: BOOL ; } DisableThreadLibraryCalls ( hlibmodule . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetModuleHandleA < 'a , > ( lpmodulename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , ) -> super::super::Foundation:: HINSTANCE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleHandleA ( lpmodulename : super::super::Foundation:: PSTR ) -> super::super::Foundation:: HINSTANCE ; } GetModuleHandleA ( lpmodulename . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { pub const DLL_PROCESS_ATTACH : u32 = 1u32 ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 2 ) ) ] pub struct IMAGE_DOS_HEADER { pub e_magic : u16 , pub e_cblp : u16 , pub e_cp : u16 , pub e_crlc : u16 , pub e_cparhdr : u16 , pub e_minalloc : u16 , pub e_maxalloc : u16 , pub e_ss : u16 , pub e_sp : u16 , pub e_csum : u16 , pub e_ip : u16 , pub e_cs : u16 , pub e_lfarlc : u16 , pub e_ovno : u16 , pub e_res : [ u16 ;4 ] , pub e_oemid : u16 , pub e_oeminfo : u16 , pub e_res2 : [ u16 ;10 ] , pub e_lfanew : i32 } impl IMAGE_DOS_HEADER { } impl :: std :: cmp :: PartialEq for IMAGE_DOS_HEADER { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_DOS_HEADER { } unsafe impl :: windows :: Abi for IMAGE_DOS_HEADER { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct IMAGE_IMPORT_DESCRIPTOR { pub Anonymous : IMAGE_IMPORT_DESCRIPTOR_0 , pub TimeDateStamp : u32 , pub ForwarderChain : u32 , pub Name : u32 , pub FirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union IMAGE_IMPORT_DESCRIPTOR_0 { pub Characteristics : u32 , pub OriginalFirstThunk : u32 } impl IMAGE_IMPORT_DESCRIPTOR_0 { } impl :: std :: cmp :: PartialEq for IMAGE_IMPORT_DESCRIPTOR_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for IMAGE_IMPORT_DESCRIPTOR_0 { } unsafe impl :: windows :: Abi for IMAGE_IMPORT_DESCRIPTOR_0 { type Abi = Self ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod KeyboardAndMouseInput { pub unsafe fn GetAsyncKeyState < > ( vkey : i32 , ) -> i16 { # [ cfg ( windows ) ] { # [ link ( name ="USER32" ) ] extern "system" { fn GetAsyncKeyState ( vkey : i32 ) -> i16 ; } GetAsyncKeyState ( :: std :: mem :: transmute ( vkey ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } } [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `toy-arms-bindings` (lib) generated 1 warning [INFO] [stderr] warning: `toy-arms-bindings` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/toy_arms_bindings-12a0f36d668ab8c7) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests toy_arms_bindings [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "90e7a64645b60d7afb85adc2392da886c731e09b83f41bda4a070f25fc86838c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90e7a64645b60d7afb85adc2392da886c731e09b83f41bda4a070f25fc86838c", kill_on_drop: false }` [INFO] [stdout] 90e7a64645b60d7afb85adc2392da886c731e09b83f41bda4a070f25fc86838c